home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / u_man / cat1 / fpmode.z / fpmode
Text File  |  1998-10-20  |  4KB  |  133 lines

  1.  
  2.  
  3.  
  4. FFFFPPPPMMMMOOOODDDDEEEE((((1111))))                                                            FFFFPPPPMMMMOOOODDDDEEEE((((1111))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      fpmode - run a command in specified floating point and/or memory mode
  10.  
  11. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  12.      ffffppppmmmmooooddddeeee precise|performance|smm|nsmm|spec|nonspec command [ arguments ]
  13.  
  14. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  15.      _f_p_m_o_d_e executes _c_o_m_m_a_n_d, forcing it to use the specified floating point
  16.      exception and memory access mode. This is only meaningful on processors
  17.      that support multiple modes. On these processors, the default mode is
  18.      usually performance mode (also called imprecise exception mode) and non-
  19.      sequential memory (nsmm) mode.  On all other processors, the default is
  20.      precise exception and sequential (smm) mode.
  21.  
  22.      The R8000 is the only processor which supports both a precise exception
  23.      mode and a performance mode.  All other processors support only precise
  24.      exceptions, though automatic flushing of denormalized results to zero may
  25.      be controlled through the setting of the FS bit in the FP control and
  26.      status register by calling _s_e_t__f_p_c__c_s_r().
  27.  
  28.      In precise exception mode, all floating point exceptions/interrupts are
  29.      reported on the instruction that caused the exception, so floating point
  30.      signal handlers can clean up the FP state and continue execution. In
  31.      performance mode, floating point interrupts are asynchronous and the
  32.      reported program counter is meaningless. Precise mode is provided as a
  33.      means of debugging processes and/or backward compatibility for programs
  34.      that have knowledge of the FP state. It causes significant performance
  35.      degradation.
  36.  
  37.      When a program is run in performance mode on an R8000, the floating point
  38.      processor automatically flushes all denormalized results to zero
  39.      regardless of the setting of the FS (flush denormalized results to zero)
  40.      bit in the FP control and status register. This bit is turned on at
  41.      _e_x_e_c() time.  Turning it off (by calling _s_e_t__f_p_c__c_s_r()) will cause
  42.      performance degradation. When the same program is run in precise mode,
  43.      the FS bit is turned off at _e_x_e_c() time (for backward compatibility with
  44.      older processors). Note that this means a given program may generate
  45.      different results when run in performance and precise modes.
  46.  
  47.      Non-sequential memory access mode allows the processor to do floating
  48.      point and integer memory operations out of order, thus possibly providing
  49.      better performance.  This is only supported on R8000 processors.
  50.  
  51.      Turning on speculative execution (spec) mode tells the kernel to ignore
  52.      all memory access faults generated by the program. This mode is used by
  53.      the compiler to provide better performance in some cases by allowing
  54.      eager instruction scheduling. Note that this may also cause significantly
  55.      worse performance if used indiscriminately and should be avoided when
  56.      debugging since it masks potential problems.
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. FFFFPPPPMMMMOOOODDDDEEEE((((1111))))                                                            FFFFPPPPMMMMOOOODDDDEEEE((((1111))))
  71.  
  72.  
  73.  
  74.      The floating point mode is inherited across _f_o_r_k() and _e_x_e_c() system
  75.      calls. To modify both exception and memory modes, use fpmode twice; e.g.,
  76.  
  77.           fpmode precise fpmode smm command
  78.  
  79.  
  80. SSSSEEEEEEEE AAAALLLLSSSSOOOO
  81.      syssgi(2), get_fpc_csr(3), set_fpc_csr(3).
  82.  
  83. WWWWAAAARRRRNNNNIIIINNNNGGGGSSSS
  84.      In the case of the following command
  85.  
  86.           fpmode precise command1; command2
  87.  
  88.      _f_p_m_o_d_e applies only to command1.  The command
  89.  
  90.           fpmode precise (command1; command2)
  91.  
  92.      is syntactically incorrect.
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.